import request from './axios'

export function login(data) {
  return request({
    url: '/auth/login',
    method: 'post',
    data
  })
}

export function register(data) {
  return request({
    url: '/auth/register',
    method: 'post',
    data
  })
}

export function getUserInfo() {
  return request({
    url: '/user/info',
    method: 'get'
  })
}

export function updateProfile(data) {
  return request({
    url: '/user/profile',
    method: 'put',
    data
  })
}

export function changePassword(data) {
  return request({
    url: '/user/change-password',
    method: 'put',
    data
  })
}

// 获取用户列表
export function getUserList(params) {
  return request({
    url: '/user/list',
    method: 'get',
    params
  })
}

// 创建新用户
export function createUser(data) {
  return request({
    url: '/user/create',
    method: 'post',
    data
  })
}

// 更新用户信息
export function updateUser(id, data) {
  return request({
    url: `/user/${id}`,
    method: 'put',
    data
  })
}

// 删除用户
export function deleteUser(id) {
  return request({
    url: `/user/${id}`,
    method: 'delete'
  })
}

// 获取所有角色列表
export function getRoleList() {
  return request({
    url: '/roles',
    method: 'get'
  })
}

// 更新用户角色
export function updateUserRoles(userId, roles) {
  return request({
    url: `/user/${userId}/roles`,
    method: 'put',
    data: roles
  })
} 


// 获取当前用户权限列表
export function getPermissions() {
  return request({
    url: '/permissions/my',
    method: 'get'
  })
}

// 获取所有权限列表（管理用）
export function getAllPermissions() {
  return request({
    url: '/permissions',
    method: 'get'
  })
}

// 更新角色权限
export function updateRolePermissions(roleId, permissions) {
  return request({
    url: `/roles/${roleId}`,
    method: 'put',
    data: permissions
  })
}

// 获取角色权限
export function getRolePermissions(roleId) {
  return request({
    url: `/roles/${roleId}/permissions`,
    method: 'get'
  })
}
